#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
主题: 字符串对齐
问题: 你想通过某种对齐方式来格式化字符串
提示:
"""

def recipe1():
    """基本的字符串对齐操作"""
    text = 'Hello World'
    print(f"{text = }")
    print(f"{text.ljust(20)= }")
    print(f"{text.center(20)= }")

    # 接受一个可选的填充字符
    print(f"{text.rjust(20, '=')= }")
    print(f"{text.center(20, '*')= }")

    # 函数 format() 同样可以用来很容易的对齐字符串
    print(f"{format(text, '>20')= }")
    print(f"{format(text, '<20')= }")
    print(f"{format(text, '^20')= }")
    print(f"{format(text, '=>20s')= }")
    print(f"{format(text, '=^20s')= }")

    # 格式化多个值
    print(f"{'{:>10s} {:>10s}'.format('Hello', 'World')= }")

    # 格式化任何值
    x = 1.2345
    print(f"{x= }")
    print(f"{format(x, '>10')= }")
    print(f"{format(x, '^10.2f')= }")

    # 老的代码中，你经常会看到被用来格式化文本的 % 操作符
    print(f"{'%-20s' % text= }")
    print(f"{'%20s' % text= }")
    
def main():
    print('recipe1'.center(20, '*'))
    recipe1()

if __name__ == '__main__':
    main()    